﻿
#include "mainwindow.h"

#include <QApplication>



int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    MainWindow w;
    w.show();
//    TcpClient* client = nullptr;

//    cout << R"(
//   __                 ___
//  / /  __ _ _ __     / _ \_ __ _____  ___   _
// / /  / _` | '_ \   / /_)/ '__/ _ \ \/ / | | |
/// /__| (_| | | | | / ___/| | | (_) >  <| |_| |
//\____/\__,_|_| |_| \/    |_|  \___/_/\_\\__, |
//                                        |___/
//==============================================
//)";
//    cout << endl;
//    while(true){
//        cout << "\nconsole:";
//        string t_cin;
//        cin >> t_cin;
//        transform(t_cin.begin(),t_cin.end(),t_cin.begin(),::tolower);

//        if(t_cin == "-h" || t_cin == "-help"){ //判断是否为帮助
//            cout << "Commands:" << endl
//                 << "-help          get help information" << endl
//                 << "-version       tool version information" <<endl
//                 << "-servers       get server list" <<endl
//                 << "-start         start the LAN proxy service" <<endl
//                 << "-add           add proxy" <<endl
//                 << "-proxy         get proxy list" <<endl
//                 << "-stop          stop service" <<endl;
//        }
//        else if(t_cin == "-v" || t_cin == "-version"){ //判断是否为版本查询
//            cout << VERSION << endl;
//        }
//        else if(t_cin == "-se" || t_cin == "-servers"){ //获取服务列表
//            cout << "No List" <<endl;
//        }
//        else if(t_cin == "-s" || t_cin == "-start"){ //开始服务
//            if(client){
//                if(client->isValid()){
//                    cout << "Warning: Service already exists" << endl;
//                    continue;
//                }
//            }

//            //根据ID连接服务器
//            uint16_t t_id = 0;
//            while(t_id == 0){
//                cout << "connect id:";
//                cin >> t_id;
//            }

//            string serverHost = "";
//            while(serverHost.empty()){
//                cout << "server host:";
//                cin >> serverHost;
//            }

//            uint16_t serverPort = 0;
//            while(serverPort == 0){
//                cout << "server port:";
//                cin >> serverPort;
//            }
//            if(client == nullptr){
//                client = new TcpClient(QHostAddress(QString::fromStdString(serverHost)),serverPort,QString::number(t_id));
//            }

//            if(client->isValid() == false){
//                delete client;
//                client = nullptr;
//                cout << "Error: disconnect!" << endl;
//            }
//            else{
//                cout << "Success!" << endl;
//            }

//        }
//        else if(t_cin == "-st" || t_cin == "-stop"){ //停止服务
//            if(client) delete client;
//            client = nullptr;
//            cout << "stop server!" << endl;
//        }
//        else if(t_cin == "-a" || t_cin == "-add"){ //添加映射
//            //isTcp,listenPort,proxyPort,persistent = false

//            //获取映射类型
//            bool t_isTcp = true;
//            int t_index = -1;
//            while(t_index != 1 && t_index !=2){
//                cout << "proxy type(1.TCP  2.UDP):";
//                cin >> t_index;
//            }
//            if(t_index == 2) t_isTcp = false;


//            //获取外网映射端口
//            uint16_t t_serListenPort = 0; //外网映射端口
//            cout << "server listen port:";
//            cin >> t_serListenPort;

//            //获取内网映射端口
//            uint16_t t_proxyPort = 0; //内网映射端口
//            while(t_proxyPort == 0){
//                cout << "local proxy port:";
//                cin >> t_proxyPort;
//            }

//            //获取是否持久化
//            char t_persistent = 'n';
//            cout << "persistent proxy(y/n):";
//            cin >> t_persistent;
//            t_persistent = tolower(t_persistent);

//            client->addProxy(t_isTcp,t_serListenPort,t_proxyPort, t_persistent == 'y');

//        }
//        else if(t_cin == "-p" || t_cin == "-proxy"){ //获取映射列表
//            client->getProxyList();
//        }
//    }


    return a.exec();
}
